/*
 * Puntaje.cpp
 *
 *  Created on: 17/11/2013
 *      Author: fernando
 */

#include "Puntaje.h"
#include "SDL.h"
#include <string>
#include <sstream>

using std::string;

const string IMGBACK= "trunk/Imagenes/backgroundP.jpg";
const string FONT = "trunk/Fonts/FatMarker.ttf";
const SDL_Color TEXTCOLOR = {0, 0, 0};

Puntaje::Puntaje(string nombreJugador) {
	jugador  = nombreJugador;
	puntos = 0;
	loadFiles();
}

Puntaje::~Puntaje() {
    SDL_FreeSurface(background);
    SDL_FreeSurface(message);
    TTF_CloseFont(font);
}

void Puntaje::loadFiles(){
	//Load the background image
	background = SDL::load_image(IMGBACK);
	//Open the font
	font = TTF_OpenFont(FONT.c_str(), 20 );
}

void Puntaje::setPosicion(unsigned int x, unsigned int y){
	posX = x;
	posY = y;
}

void Puntaje::sumarPuntos(long puntosASumar){
	puntos += puntosASumar;
}

void Puntaje::dibujar(SDL_Surface* screen){
	std::string number;
	std::stringstream strstream;
	strstream << puntos;
	strstream >> number;
	message = TTF_RenderText_Solid(font, (jugador + ": " + number).c_str(), TEXTCOLOR);
	SDL::apply_surface(posX, posY, background, screen, NULL);
	SDL::apply_surface(posX + 10, posY + 10, message, screen, NULL);

}
